Most laser printers receive data to be printed from a host computer in the form of a control language over a standard interface. The control language data stream includes print function commands with interspersed print data. The laser printer responds by converting the received data stream into a list of simple commands, called display commands which describe what must be printed. The printer processes the display commands and renders the described objects into a raster bit map. This procedure generally requires a full page raster bit map memory, as the same memory is used for succeeding pages.
Many methods have been implemented to reduce the amount of required memory in a laser printer. Some methods require an analysis of the incoming signal stream to determine if the data contained therein (e.g. raster graphics data) exceeds a threshold of available storage in the printer's video buffer. In such case, a compression technique is employed to compress the raster image data so as to enable more efficient use of the available raster buffer space. In U.S. patent application Ser. No. 07/940,111, entitled "Page Printer Having Adaptive Data Compression for Memory Minimization", of Campbell et al, a number of compression techniques are applied to an input data flow, depending upon which technique provides a greater level of compression. In U.S. patent application Ser. No. 07/939,795, entitled "Page Printer Having Automatic Font Compression" to Zimmerman et al, a page printer is described that has the ability to determine when a received font will require an excessive amount of buffer memory. In such a case, the printer compresses the font data to again enable more efficient use of available raster buffer space.
The use of control languages to enable data transfers between host computers and laser printers is widespread and must be accommodated on a commercial laser printer if that printer is to appeal to a large customer base. Such control language data is transferred to the laser printer over a standard, input/output (I/O) interface that exhibits a rather slow data transfer rate. One known standard interface is called the "Centronics" interface and enables data transfers to occur at a rate of approximately 100k bytes per second. Using that interface, a laser printer converts an incoming command language data stream into a "page intermediate" form (consisting of display commands) which is then converted to raster image data. The raster image data conversion process causes the intermediate page representation to be divided into a number of strips, with groups of the strips being sequentially processed to raster pixel data (video data for the print engine). The print engine is only started after an initial group of strips have been converted to raster pixel data. At this time the laser print engine prints the data and continues at a fixed speed, until all strips have been printed. If new rasterized data is not available at a rate that keeps up with the print engine's operation, a print "overrun" occurs and the page is not printable. As a result, considerable time is lost due to the substantial preprocessing which must occur before the print engine is started.
Some page printers employ a high speed page printing technique termed the "Sleek" mode that avoids the substantial preprocessing that occurs when print data is transferred using a print control language. In the Sleek mode, the host computer converts user input data into a full raster pixel image and then feeds that raster image as pixel data, over a special interface at a high data transfer rate. For instance, certain prior art page printers employ a separate video port that accepts video raster image data at a multi-megabit per second rate. While such printers provide highly efficient print rates, the costs inherent in the separate video ports on both the printer and the host and circuitry for handling data over those ports adds substantially to the system's cost. Nevertheless, the Sleek mode does enable a substantial increase in print speed of a laser page printer.
Accordingly, it is an object of this invention to provide a low cost page printer that has the ability to accept print data configured in a control language format or in raster format.
It is another object of this invention to provide an improved page printer that is enabled to accept both control language print data and Sleek mode print data over a standard input/output printer interface.
It is still another object of this invention to employ standard input/output interface of a page printer to receive Sleek mode data, the page printer still having a buffer memory size that is minimal and cost effective.